#include <stdio.h>
#include <string.h>

const int MAX_N = 10000;
int prime[MAX_N+1];

void getPrime() //build a list of prime numbers
{
    memset(prime,0,sizeof(prime));
    for(int i=2;i<=MAX_N;++i)
    {
        if(!prime[i]) prime[++prime[0]]=i;
        for(int j=1;j<=prime[0]&&prime[j]<=MAX_N/i;++j)
        {
            prime[prime[j]*i]=1;
            if(i%prime[j]==0) break;
        }
    }
}

int div(int x) //get div(x)
{
    int count_fact = 1;
    int temp_x = x;
    for(int i = 1;prime[i]<=temp_x/prime[i] && i < prime[0];++i)
    {
        int count_prime = 0;
        if(temp_x%prime[i] == 0)
        {
            while(temp_x%prime[i] == 0)
            {
                ++count_prime;
                temp_x /= prime[i];
            }
            count_fact *= count_prime+1;
        }
    }
    if(temp_x != 1)
    {
        ++count_fact;
    }
    return count_fact;
}

int main()
{  
    int m, n;  
    int max, ret;  
    getPrime();  
    while( scanf( "%d%d", &m, &n ) != EOF )
    {  
        max = 1;  
        for( int i=m; i<=n; i++ )
        {  
            ret = div(i);  
            if( ret > max )  
                max = ret;
        }  
        printf( "%d\n", max );  
    }  
    return 0;  
} 

